<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>
    // - 判断奇偶数
    var num = 5;
    if(num % 2 === 0){
        console.log("偶数");
    }else{
        console.log("奇数");
    }

    // - 判断3的倍数
    var num = 69;
    if(num % 3 === 0){
        console.log("是3的倍数");
    }

    // - 判断3且7的倍数
    var num = 21;
    if(num % 3 === 0 && num % 7 === 0){
        console.log("是3和7的公倍数");
    }

    // - 判断闰年
    var year = 1600;
    if(year % 4 === 0 && year % 100 !== 0 || year % 400 === 0){
        console.log("是闰年");
    }else{
        console.log("是平年");
    }

    // - 判断成绩的范围：0~100。60-不及格，60~69及格，70~79良好，80~89优秀，90~100学霸

    // 使用switch解决成绩的范围：
    // var cj = 108;
    // switch(true){
    //     case cj<60 && cj>=0:
    //         console.log("不及格");
    //         break;
    //     case cj>=60 && cj<70:
    //         console.log("及格");
    //         break;
    //     case cj>=70 && cj<80:
    //         console.log("良好");
    //         break;
    //     case cj>=80 && cj<90:
    //         console.log("优秀");
    //         break;
    //     case cj>=90 && cj<=100:
    //         console.log("学霸");
    //         break;
    //     default:
    //         console.log("请输入0~100之间的数字")
    // }

    // if的嵌套实现的多分支：
    var cj = 9;
    if( cj >= 0 && cj < 60){
        console.log("不及格");
    }else if(cj>=60 && cj<70){
        console.log("及格");
    }else if(cj>=70 && cj<80){
        console.log("良好");
    }else if(cj>=80 && cj<90){
        console.log("优秀");
    }else if(cj>=90 && cj<=100){
        console.log("学霸");
    }else{
        console.log("成绩错了")
    }


    // - 判断月份的天数
    // 利用case的穿透简化代码
    var month = 5;      // 1~12
    var year = 2024;
    var str = "";
    switch(month){
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            str = "31天";
            break;
        case 4:
        case 6:
        case 9:
        case 11:
            str = "30天";
            break;
        case 2:
            if(year % 4 === 0 && year % 100 !== 0 || year % 400 === 0){
                str = "29天";
            }else{
                str = "28天";
            }
            break;
    }
    console.log(str);


    // - 判断某个日期是这一年的第多少天
    var year = 2024;
    var month = 12;
    var date = 31;

    // 1.10：第10天        date
    // 2.10：第41天        1月总天数+date
    // 3.10：第69天        2月+1月总天数+date

    // 每个月份都不需要加当前月份的总天数，只需要将已经过去的月份的总天数加起来，再加上当月过去的天数

    var sum = 0;
    switch(month){
        case 12:
            sum = sum + 30;
        case 11:
            sum = sum + 31;
        case 10:
            sum = sum + 30;
        case 9:
            sum = sum + 31;
        case 8:
            sum = sum + 31;
        case 7:
            sum += 30;
        case 6:
            sum += 31;
        case 5:
            sum = sum + 30;
        case 4:
            sum = sum + 31;
        case 3:
            if(year % 4 === 0 && year % 100 !== 0 || year % 400 === 0){
                sum = sum + 29;
            }else{
                sum = sum + 28;
            }
        case 2:
            sum = sum + 31;
        case 1:
            sum = sum + date;
    }
    console.log(sum);
    // 利用case的穿透 配合 变量的累加，实现根据日期判断天数


</script>
</html>